import log from '@dfeidao/atom-nodejs/logger/log';
import { IncomingHttpHeaders } from 'http';
import { systemid, productid } from '../../atom/config';
import doc_code from '@dfeidao/atom-nodejs/msg/doc-code';
import operate from '@dfeidao/atom-nodejs/db/operate';
interface Message {
	filter: {
		risk_po_type_no: string,
		risk_po_name: string,
		risk_po_name_no: string,
		hidden_source: string,
		hidden_code: string,
		hidden_name: string,
	}
}

// interface IWebResult {
// 	data: unknown;
// 	cookie?: {
// 		[name: string]: string;
// 	} | null;
// 	content_type?: string;
// 	headers?: {
// 		[key: string]: string;
// 	};
// 	attachment?: string;
// 	redirect?: string;
// 	status_code?: number;
// }
// 7.6.2判断列表是否有值（非必填项）
// 7.6.2.1有值，向 < 关联隐患源 >	 表添加数据
// “风险点名称编号”，   源于【7.6.1.1】中的“风险点名称编号”
// “隐患源编号”，         源于【7.4.4.2】中的“隐患源编号”
// “隐患源名称”，         源于【7.4.4.2】中的“隐患源名称”
// “隐患源代码”，         源于【7.4.4.2】中的“隐患源代码”
// 7.6.2.2无值，不进行数据添加；
// 表名	asso_hidden_sou				
// 标题	关联隐患源				
// 字段名称	字段标题	字段类型	字段长度	是否为空	是否主键
// _id	id	string	50	ⅹ	√
// risk_po_name_no	风险点名称编号	string	50	√	ⅹ
// hidden_source	隐患源编号	string	32	√	ⅹ
// hidden_code	隐患源代码	string	32	√	ⅹ
// hidden_name	隐患源名称	string	32	√	ⅹ

export default async function atom(message: Message, action_id: string, session_id: string, headers: IncomingHttpHeaders) {
	log('Service begin path:e:\Feidao\kh\src\risk-point\zj-000006\s001,action_id:' + action_id);

	const res = await doc_code(action_id, session_id, systemid, 'BM0014343', '', 1);
	const { exec, insert } = operate(action_id, session_id, systemid);
	insert('risk_point_name', {
		risk_po_name_no: res.result,
		risk_po_type_no: message.filter.risk_po_type_no,
		risk_po_name: message.filter.risk_po_name,
		productid
	});
	insert('asso_hidden_sou', {
		risk_po_name_no: res.result,
		hidden_source: message.filter.hidden_source,
		hidden_code: message.filter.hidden_code,
		hidden_name: message.filter.hidden_name,
	});

	const ret = await exec();
	log('Service end path:e:\Feidao\kh\src\risk-point\zj-000006\s001,action_id:' + action_id);
	return {
		data: ret
	};
}
